1
Lo spettro del flusso di controllo: dal sequenziale all'eccezionale
AI031Lesson 8
00:00

Il flusso di controllo standard è un percorso prevedibile: il contatore del programma passa dall'indirizzo $a_k$ a $a_{k+1}$ in base a logica sequenziale o a salti espliciti. Tuttavia, Flusso di controllo eccezionale (FCE) rappresenta le transizioni "improvvisi" che avvengono al di fuori di questo flusso normale.

1. Il modello matematico

L'esecuzione del processore è una sequenza $a_0, a_1, \dots, a_{n-1}$, dove ogni $a_k$ corrisponde a un'istruzione $I_k$. Il FCE interrompe questa catena quando si verifica un cambiamento nello stato del processore—un evento—scatena un salto verso un gestore specializzato non presente nel percorso immediato del codice dell'applicazione.

2. Livelli di implementazione

Il FCE colma il divario tra hardware e software. Va dai livelli hardware eccezioni (errori, interruzioni) fino ai livelli del sistema operativo cambio di contesto e segnali.

Figura 8.1: Anatomia di un'eccezioneFlusso normale (saltato)Flusso sequenziale (Iₖ)Evento!Gestore dell'eccezioneRitorno opzionale (Iₖ₊₁)

3. La realtà "improvvisa"

Che si tratti di un utente che premendo Ctrl+C oppure di una chiamata di sistema che richiede l'accesso al disco, il FCE obbliga il CPU a saltare in un diverso "mondo"—il kernel—assicurando che il sistema rimanga reattivo ai cambiamenti dinamici dello stato.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>